package com.example.dbsample.service.business;

import com.example.dbsample.mapper.SysOrgMapper;
import com.example.dbsample.model.entity.SysOrgEntity;
import com.example.dbsample.model.vo.SysOrgVo;
import com.example.dbsample.service.SysOrgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * 机构管理;(sys_org)表服务实现类
 * @author : http://www.chiner.pro
 * @date : 2024-5-4
 */
@Service
//public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrgEntity> implements SysOrgService{
public class SysOrgServiceImpl implements SysOrgService{
     // TODO 这里转换失败，暂时去除
    //@Autowired
    //private SysOrgEntityMapper sysOrgEntityMapper;

    // split、apollo的值切分
    @Value("#{'${auth.user.dataSet:xxxx.xx.xx.xx}'.split(',')}")
    private List<String> authUsers;

    @Autowired
    private SysOrgMapper sysOrgMapper;

    /** 
     * 通过ID查询单条数据 
     *
     * @param id 主键
     * @return 实例对象
     */
    public SysOrgEntity queryById(Integer id){
        return sysOrgMapper.queryById(id);
    }

     public SysOrgVo queryByIdTarget2Source(Integer id){
         SysOrgEntity SysOrgEntity = sysOrgMapper.queryById(id);
         // TODO 这里转换失败，暂时去除
         //SysOrgVo sysOrgVo = sysOrgEntityMapper.target2Source(SysOrgEntity);
         SysOrgVo sysOrgVo = new SysOrgVo();
         return sysOrgVo;
     }


    //
    ///**
    // * 分页查询
    // *
    // * @param sysOrg 筛选条件
    // * @param pageRequest 分页对象
    // * @return 查询结果
    // */
    //public Page<SysOrgEntity> paginQuery(SysOrgEntity sysOrg, PageRequest pageRequest){
    //    long total = sysOrgMapper.count(sysOrg);
    //    return new PageImpl<>(sysOrgMapper.queryAllByLimit(sysOrg, pageRequest), pageRequest, total);
    //}
    //
    ///**
    // * 新增数据
    // *
    // * @param sysOrg 实例对象
    // * @return 实例对象
    // */
    //public SysOrgEntity insert(SysOrgEntity sysOrg){
    //    sysOrgMapper.insert(sysOrg);
    //    return sysOrg;
    //}
    //
    ///**
    // * 更新数据
    // *
    // * @param sysOrg 实例对象
    // * @return 实例对象
    // */
    //public SysOrgEntity update(SysOrgEntity sysOrg){
    //    sysOrgMapper.update(sysOrg);
    //    return queryById(sysOrg.getId());
    //}
    //
    ///**
    // * 通过主键删除数据
    // *
    // * @param id 主键
    // * @return 是否成功
    // */
    //public boolean deleteById(Integer id){
    //    int total = sysOrgMapper.deleteById(id);
    //    return total > 0;
    //}

    @Transactional(rollbackFor = Exception.class)
    public void complete() {
        Integer maxColumn = 11;
        AtomicInteger atomicMaxColumn = new AtomicInteger(maxColumn);
    }

    public static void main(String[] args) {
        Integer maxColumn = 11;
        AtomicInteger atomicMaxColumn = new AtomicInteger(maxColumn);
        Integer columnNum = atomicMaxColumn.getAndAdd(1);
    }

}